#pragma once
#include "pch.h"
#include "LTDMC.h"
#include <atomic>
#include <vector>
#include "LTDMC.h"
#include "Typedef.h"

class CIO
{
public:
	CIO();
	~CIO();
	void GetAllInputIo();
	void GetOutPutIO();
	void SetOutPutIO(int nPort, long nValue);
	void StartGetIOInputThread();

	void ShotDown();
	void SetAllOutPutOff();
public:
	std::atomic_int        m_nExitFlagIo = 0;
	

private:
	std::vector<HANDLE> m_Iothread;

public:
	int S00 = OFF;
	int S01 = OFF;
	int S02 = OFF;
	int S03 = OFF;
	int S04 = OFF;
	int S05 = OFF;
	int S06 = OFF;
	int S07 = OFF;
	int S08 = OFF;
	int S09 = OFF;
	int S10 = OFF;
	int S11 = OFF;
	int S12 = OFF;
	int S13 = OFF;
	int S14 = OFF;
	int S15 = OFF;
	int S16 = OFF;
	int  Y00 = OFF; 
	int  Y01 = OFF;
	int  Y02 = OFF; 
	int  Y03 = OFF; 
	int  Y04 = OFF; 
	int  Y05 = OFF;
	int  Y06 = OFF; 
	int  Y07 = OFF; 
	int  Y08 = OFF; 
	int  Y09 = OFF; 
	int  Y10 = OFF; 
	int  Y11 = OFF; 
	int  Y12 = OFF;
	int  Y13 = OFF; 
	int  Y14 = OFF; 
	int  Y15 = OFF;
	int  Y16 = OFF;
	int  Y17 = OFF;
};

